package cuishifeng.blog.learn.lambda.function;

/**
 * 自定义服务辅助Function函数式接口
 *
 * @author cuishifeng <cuishifeng0207@163.com>
 * Created on 2021-04-13
 */
public class ServiceFunction {


    /**
     * 三个参数的 function函数接口
     */
    @FunctionalInterface
    public interface ThreeFunction<T1, T2, T3, R> {

        /**
         * 接收3个参数 然后执行服务返回响应
         *
         * @param t1 方法入参1
         * @param t2 方法入参2
         * @param t3 方法入参3
         * @return R 服务执行返回值
         */
        R apply(T1 t1, T2 t2, T3 t3);
    }

    /**
     * 三个参数的 function函数接口
     */
    @FunctionalInterface
    public interface FourFunction<T1, T2, T3, T4, R> {

        /**
         * 接收4个参数 然后执行服务返回响应
         *
         * @param t1 方法入参1
         * @param t2 方法入参2
         * @param t3 方法入参3
         * @param t4 方法入参4
         * @return R 服务执行返回值
         */
        R apply(T1 t1, T2 t2, T3 t3, T4 t4);
    }


}
